home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 15 / BBS in a box XV-1.iso / Files / Tele / Telefinder / GroupEditionAppleEvents3.0.sit / Group Edition AE's / THINK C Interfaces / Transfer Log AE / SendFLEvent.c < prev   
Encoding:
C/C++ Source or Header  |  1992-10-16  |  3.9 KB  |  149 lines  |  [TEXT/KAHL]

  1. #include <AppleEvents.h>
  2. #include <Aliases.h>
  3.  
  4. #include <FLEvents.h>
  5.  
  6.  
  7. short SendFileXfrToLog( TargetID *tid, Byte* userName, Byte* bbsName, FSSpec *xfrFSpec, int fileXfrCode, int dirType, \
  8.                 long elapsedTime, int numRetransmits, long bytesSent, long fileSize, long connectBPS, \
  9.                 long cpsThruPut, long dateTimeComplete )
  10. {
  11.     AppleEvent        evt, reply;
  12.     AEAddressDesc    adsc = { 0,0 };
  13.     short            err, aeErr = noErr, myErr;
  14.     long            type, size;
  15.     AliasHandle        xfrAlias= 0L;
  16.     
  17.     err = AECreateDesc ( typeTargetID, (void *) tid, sizeof( TargetID ), &adsc ) ;
  18.  
  19.     if ( !err )
  20.     {    err = AECreateAppleEvent ( flClass, flAddFileToList, &adsc, kAutoGenerateReturnID,
  21.             kAnyTransactionID, &evt );
  22.  
  23.         if ( !err )
  24.         {    
  25.             if ( !err )
  26.                 err = AEPutParamPtr ( &evt, flUserName, typeChar, (void *) &userName[1], (long)userName[0] );
  27.  
  28.             if ( !err )
  29.                 err = AEPutParamPtr ( &evt, flBBSName, typeChar, (void *) &bbsName[1], (long)bbsName[0] );
  30.         
  31.             if ( !err )
  32.                 err = NewAliasMinimal( xfrFSpec, &xfrAlias );
  33.             
  34.             if ( !err )
  35.             {
  36.                 if ( !err )
  37.                 {    HLock( xfrAlias );
  38.                     err = AEPutParamPtr( &evt, flFileSpec, typeAlias, (void*)*xfrAlias, GetHandleSize( xfrAlias ) );
  39.                     HUnlock( xfrAlias );
  40.                 }
  41.         
  42.                 if ( !err )
  43.                     err = AEPutParamPtr ( &evt, flXfrCode, typeSMInt, (void *) &fileXfrCode, 2L );
  44.             
  45.                 if ( !err )
  46.                     err = AEPutParamPtr ( &evt, flDirType, typeSMInt, (void *) &dirType, 2L );
  47.             
  48.                 if ( !err )
  49.                     err = AEPutParamPtr ( &evt, flElapsedTime, typeLongInteger, (void *) &elapsedTime, 4L );
  50.             
  51.                 if ( !err )
  52.                     err = AEPutParamPtr ( &evt, flBytesSent, typeLongInteger, (void *) &bytesSent, 4L );
  53.             
  54.                 if ( !err )
  55.                     err = AEPutParamPtr ( &evt, flRetransmit, typeSMInt, (void *) &numRetransmits, 2L );
  56.             
  57.                 if ( !err )
  58.                     err = AEPutParamPtr ( &evt, flFileSize, typeLongInteger, (void *) &fileSize, 4L );
  59.             
  60.                 if ( !err )
  61.                     err = AEPutParamPtr ( &evt, flBaudRate, typeLongInteger, (void *) &connectBPS, 4L );
  62.             
  63.                 if ( !err )
  64.                     err = AEPutParamPtr ( &evt, flThruPut, typeLongInteger, (void *) &cpsThruPut, 4L );
  65.             
  66.                 if ( !err )
  67.                     err = AEPutParamPtr ( &evt, flTimeComplete, typeLongInteger, (void *) &dateTimeComplete, 4L );
  68.             
  69.                 if ( ! err )
  70.                     err = AESend ( &evt , &reply , kAEWaitReply | kAENeverInteract | kAEWantReceipt,
  71.                         kAENormalPriority, kAEDefaultTimeout , NULL , NULL );
  72.             
  73.                 if ( !err )
  74.                 {
  75.                     err = AEGetParamPtr( &reply, keyErrorNumber, typeSMInt, (void *) &type,
  76.                         (void *) &aeErr, sizeof( short ), (void *) &size );
  77.                         
  78.                     if ( err == errAEDescNotFound )
  79.                     {
  80.                         err = noErr;
  81.                         aeErr = noErr;
  82.                     }
  83.     
  84.                     myErr = AEDisposeDesc( &reply );
  85.                 }
  86.                 
  87.                 if ( xfrAlias )
  88.                     DisposHandle( xfrAlias );
  89.             }
  90.             
  91.             myErr = AEDisposeDesc( &evt );
  92.         }
  93.         myErr = AEDisposeDesc( &adsc );
  94.     }
  95.     if ( !err )
  96.         return( aeErr );
  97.     else
  98.         return( err );
  99. }
  100.  
  101. short SendStartFL( TargetID *tid, FSSpec *partialsFile )
  102. {
  103.     AppleEvent        evt, reply;
  104.     AEAddressDesc    adsc = { 0,0 };
  105.     short            err, aeErr, myErr;
  106.     long            type, size;
  107.     
  108.     err = AECreateDesc ( typeTargetID, (void *) tid, sizeof( TargetID ), &adsc ) ;
  109.  
  110.     if ( !err )
  111.     {    err = AECreateAppleEvent ( flClass , flGetPartialFile, &adsc, kAutoGenerateReturnID, kAnyTransactionID, &evt );
  112.     
  113.         if ( !err )
  114.         {    err = AESend ( &evt , &reply , kAEWaitReply | kAENeverInteract | kAEWantReceipt,
  115.                 kAENormalPriority, 60*60*5 , NULL , NULL );
  116.     
  117.             if ( !err )
  118.             {
  119.                 err = AEGetParamPtr( &reply, keyErrorNumber, typeSMInt, (void *) &type,
  120.                     (void *) &aeErr, sizeof( short ), (void *) &size );
  121.                     
  122.                 if ( err == errAEDescNotFound )
  123.                 {
  124.                     err = noErr;
  125.                     aeErr = noErr;
  126.                 }
  127.  
  128.                 if ( !err && !aeErr )
  129.                 {    err = AEGetParamPtr( &reply, flFileSpec, typeFSS, (void *) &type,
  130.                         (void *) partialsFile, sizeof( FSSpec ), (void *) &size );
  131.                 
  132.                 }
  133.  
  134.                 myErr = AEDisposeDesc( &reply );
  135.             }
  136.             
  137.             myErr = AEDisposeDesc( &evt );
  138.         }
  139.             
  140.         myErr = AEDisposeDesc( &adsc );
  141.     }
  142.     
  143.     if ( !err )
  144.         return( aeErr );
  145.     else
  146.         return( err );
  147. }
  148.  
  149.